Providing Content Using Stored Query Information

ABSTRACT

Among other disclosed subject matter, a computer-implemented method relating to providing content on a page includes receiving information for providing content for an access device in response to a navigation from a first page to a second page. The content is to be included in the second page. The method includes accessing query information stored on the access device, the query information based on a first query that was submitted from the access device to a search provider before navigating to the first page. The method includes providing the content for inclusion in the second page, the content selected using at least the received information and the accessed query information. A computer-implemented method can include recording search query information for a user; retrieving the search query information; and using the search query information to determine content for display to the user.

TECHNICAL FIELD

This document relates to providing content using stored queryinformation.

BACKGROUND

Advertising in online mediums have some similarities with traditionalprint-based advertising. For example, it is usually desirable to targetthe advertisement to the intended or expected audience, becauseadvertisers generally prefer to invest in advertising if it reaches manypotential customers, as opposed to persons who have little or nointerest in the product or service being advertised. In print media,this targeting could be based on the general knowledge about who thereaders are, or market investigations can be performed on the readers tomore accurately determine their interests.

In the online environment, the users likewise have particular interestsand disinterests, and publishers sometimes try to match theadvertisement displayed on a page to the particular viewer as well aspossible. However, much of the information required to understand whothe viewers are may not be known or readily available and thus theadvertisement targeting may be based on little or no relevantinformation.

SUMMARY

The invention relates to providing content using stored queryinformation.

In a first aspect, a computer-implemented method relating to providingcontent on a page includes receiving information for providing contentfor an access device in response to a navigation from a first page to asecond page. The content is to be included in the second page. Themethod includes accessing query information stored on the access device,the query information based on a first query that was submitted from theaccess device to a search provider before navigating to the first page.The method includes providing the content for inclusion in the secondpage, the content selected using at least the received information andthe accessed query information.

Implementations can include any, all or none of the following features.The content can include at least one advertisement to be presented onthe second page. An advertisement server can receive the information,access the query information and provide the content, and the searchprovider can include a search engine to which the first query wassubmitted. The query information can be included in a cookie stored onthe access device, and the advertisement server can read the cookie inaccessing the query information. The method can further includereceiving the first query at the search provider, the first querysubmitted by a user using a first previous page displayed before thefirst page; displaying a second previous page to the user in response tothe first query, the second previous page including a result ofperforming the first query and at least one link, the link directed tothe first page; receiving a first user input initiating a navigationfrom the second previous page to the first page using the link;displaying the first page, the first page including at least one link,the link directed to the second page; receiving a second user inputinitiating the navigation from the first page to the second page usingthe link on the first page; and displaying the second page including thecontent selected for the second page. The method can further includeproviding content for the second previous page based on the first query.The method can further include providing content for the first pagebased on the first query. The method can further include storing thequery information on the access device before receiving the information,the query information based on other information received for providingcontent for the first page on the access device, the other informationprovided from the search provider upon receiving the first query fromthe access device. Multiple portions of query information can have beenstored on the access device, and the method can further includeselecting the query information to be accessed, the query informationselected from among the multiple portions. The selection is based on atleast one selected from: a time of the first query, a time the queryinformation was stored on the access device, a number of navigationsundertaken since the first query, and combinations thereof.

In a second aspect, a computer program product is tangibly embodied in acomputer-readable storage medium and includes instructions that whenexecuted by a processor perform a method relating to providing contenton a page. The method includes receiving information for providingcontent for an access device in response to a navigation from a firstpage to a second page, the content to be included in the second page.The method includes accessing query information stored on the accessdevice, the query information based on a first query that was submittedfrom the access device to a search provider before navigating to thefirst page. The method includes providing the content for inclusion inthe second page, the content selected using at least the receivedinformation and the accessed query information.

In a third aspect, a computer-implemented method relating to providingcontent on a page includes obtaining information for providing contentfor a first page on an access device. The information is extracted froma referring URL in navigation to the first page, the informationreflecting a first query submitted from the access device to a searchprovider. The method includes providing the content for inclusion in thefirst page, the content selected using at least the obtainedinformation. The method includes storing query information on the accessdevice based on the obtained information, the query informationreflecting the first query and configured for use in providing contentfor at least a second page.

Implementations can include any, all or none of the following features.The method can further include receiving the first query at the searchprovider, the first query submitted by a user using a first previouspage displayed before the first page; displaying a second previous pageto the user in response to the first query, the second previous pageincluding a result of performing the first query and at least one link,the link directed to the first page; receiving a first user inputinitiating a navigation from the second previous page to the first pageusing the link; and displaying the first page, the first page includingthe selected content and at least one link, the link directed to thesecond page. The method can further include receiving information forproviding the content for the second page in response to a navigationfrom the first page to the second page; accessing the query informationon the access device; and providing the content for inclusion in thesecond page, the content selected using at least the receivedinformation and the accessed query information. The method can furtherinclude performing the extraction of the information from the referringURL. Performing the extraction can include parsing the referring URL forat least one key word of the first query. The method can further includeselecting one of multiple templates for parsing the referring URL, eachof the multiple templates configured for parsing referring URLs from acorresponding search engine; and parsing the referring URL using theselected template.

In a fourth aspect, a computer program product is tangibly embodied in acomputer-readable storage medium and includes instructions that whenexecuted by a processor perform a method relating to providing contenton a page. The method includes obtaining information for providingcontent for a first page on an access device, the information extractedfrom a referring URL in navigation to the first page, the informationreflecting a first query submitted from the access device to a searchprovider. The method includes providing the content for inclusion in thefirst page, the content selected using at least the obtainedinformation. The method includes storing query information on the accessdevice based on the obtained information, the query informationreflecting the first query and configured for use in providing contentfor at least a second page.

In a fifth aspect, a computer-implemented method includes recordingsearch query information for a user. The method includes retrieving thesearch query information. The method includes using the search queryinformation to determine content for display to the user.

Implementations can provide any, all or none of the followingadvantages. Computer-based advertising can be improved. Advertisementscan be selected based on a search history of the user. The user's searchhistory can be made available for content selection also after the usernavigates away from a page with search results. Information highlyindicative of user interests can be obtained for selecting content at apoint where little or no other relevant information about the user isavailable. Information highly indicative of current user informationneeds can be obtained for selecting content at a point where little orno other relevant information about the user is available.

The details of one or more embodiments are set forth in the accompanyingdrawings and the description below. Other features and advantages willbe apparent from the description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 schematically shows an example of a system where pages areprovided to an access device using a search provider and/or anadvertisement server.

FIG. 2 shows examples of query information stored on an access device.

FIG. 3 shows another example of an access device.

FIG. 4 shows another example of an advertisement server.

FIGS. 5 and 6 are examples of methods that can be performed.

FIG. 7 shows an example method for identifying content for delivery to auser.

FIG. 8 is a block diagram of a computing system that can be used inconnection with computer-implemented methods described in this document.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

FIG. 1 schematically shows an example of a system 100 where content(e.g., pages) is provided to an access device 102 using a searchprovider 104 and/or an advertisement server 106. Access device 102allows a user to connect to the search provider 104 and run one or moresearches for electronic content, such as queries on an informationcollection obtained from the internet or any other computer-basedresource. It will be described in following examples that queryinformation relating to one or more such performed searches can bestored and used in providing content (e.g., in providing anadvertisement or any other information) for display to a user of theaccess device. Other architectures than the one shown can be used,including some that do not have a client-server configuration. Whilereference will be made herein to providing pages of content or providingadvertisements on a page, other forms of information including otherforms of sponsored content can be provided to a user in various forms.

Here, the search provider 104 provides a page 108A for display on theaccess device 102 where the user can formulate a search, and alsoprovides a page 108B for display on the access device 102 that presentscorresponding search results. That is, the user can enter one or moreportions of information using an input control 110 (e.g., the userenters keyword(s) in a search field). The page 108A provides that theentered query is forwarded to the search provider 104 as indicated byarrow 112. In some implementations, the search page 108A constitutes theoutward interface of a search engine comprised in the search provider104. Any of many different devices can be used for the access device,such as a personal computer, a handheld device or a cellular telephone,to name a few examples.

The search provider 104 receives the forwarded query and performs asearch according to its preprogrammed search routine(s). For example,the search provider can compare one or more search terms against anindex and then identify any resource whose index entry matches thesearch term(s). Such results can be forwarded to the access device fordisplay in the results page 108B as indicated by arrow 114.

The search provider 104 can facilitate that additional content beincluded in the results page 108B. For example, one or moreadvertisements can be included. In some implementations, the searchprovider can directly provide the additional content to the accessdevice. For example, when an advertisement is to be included, the searchprovider can select the advertisement and include it with the searchresults.

In other implementations, one or more other components can be used toprovide the additional content. Here, the system 100 uses theadvertisement server 106 to provide advertising content for one or morepages. In this example, the advertising content is to be selected basedon some aspect about the performed search, based on the user and/orbased on the access device, to name a few examples. That is, in at leastone implementation, the advertisement is to be matched, in some sense,to the screen where it is to appear. Alternatively, as will be discussedin greater detail below, in some implementations, the advertisement ismatched based on one or more historical searches that have beenperformed by a user and may have little or no relation to the screenwhere it is to appear.

To facilitate such matching, the search provider 104 can forwardinformation about the search and/or the access device and/or the user tothe advertisement server 106. The forwarding is here indicated by anarrow 116. In some implementations, the provided information can includeone or more search terms and/or information about the user or the accessdevice. The advertisement server uses the received information to selectthe additional information according to its preprogrammed selectionroutine(s). For example, the advertisement server can make a selectionin a library of advertisements based on matches with words received fromthe search provider. The advertisement server can provide the additionalcontent for display in the page 108B either through the search provider,or by another communication to the access device 102, to name a fewexamples, as indicated by an arrow 118.

The results page 108B can be displayed with contents that include searchresult contents 120 (e.g., one or more hits from a keyword search) andadditional content 122 (e.g., one or more advertisements selected basedon some criterion). In some implementations, the additional content canbe selected based on available information, such as the submitted queryand/or any available information about the user and/or the accessdevice. Some or all of the contents 120 and 122 can be presented in formof navigation features, such as hyperlinks, by which the user cannavigate from the page 108B to an associated resource where more contentis available.

Here, the user initiates such a navigation using one of the navigationfeatures, as indicated by a navigation arrow 124. Particularly, the useris choosing to navigate to a news page 126A that in this example is amain (or “portal”) page for a news organization. For example, the newspage 126A can be the page that appears after a user navigates to the webaddress www.nytimes.com. Such a page can be considered an entrance pagefor a collection of pages (collectively referred to as a web site or anetwork site) that the news organization publishes under a common name.From the page 126A the user can navigate directly to some or all otherpages in such a collection, here exemplified by a page 126B. Such otherpages are sometimes referred to as “deeper” (or “deep”) pages becausethey are located further down in a vertical hierarchy of the pages onthe site. The deep page 126B can have more concentrated or homogeneouscontent than the news page 126A, for example because the deep page 126Bpresents the continuation of a single story introduced on the main page126A. The page 126B sometimes has fewer navigation features to otherpages of the site than does the page 126A.

In this example, the navigation 124 to the news page 126A may have begunin the results content 120 (e.g., the user may have clicked on a searchhit), or it may have begun in the additional content 122 (e.g., the usermay have clicked on an advertisement), to name a few examples. In anyevent, additional content can be provided also on the page 126A. Thatis, the publisher of the page 126A here has provided that the page 126Ashould be published including not only main content 128 (e.g., newsmaterial and/or links to deeper pages) but also additional content 130(e.g., one or more advertisements). Such additional content can beselected using available information about the previous search, theaccess device and/or the user, to name a few examples.

Here, information about the page 108B is available in form of areferring uniform resource locator (URL). That is, when the userinitiates the navigation 124, there can be provided information aboutthe page 108B from which the navigation originated. Such information canbe received by a server for the page 126A, or by an intermediary entitythat redirects the navigation to the intended target, or by theadvertisement server, to name a few examples. The referring URL caninclude essentially the URL of the page 108B. In some implementations,such a URL reflects the query that the user entered on the page 108A. Assuch, the referring URL can provide information on the query that led tothe results page 108B, and this information can be used for one or morepurposes. Thus, the advertisement server 106 can obtain informationextracted from a referring URL in navigation to a page, the informationreflecting a first query submitted from an access device to a searchprovider.

First, information from the referring URL can be used in providingadditional content (e.g., an advertisement) for the page 126A. Forexample, the referring URL (or information obtained from it) can beforwarded to the advertisement server 106 as indicated by an arrow 128.If the received information is in a different format than necessary, theadvertisement server can reformat, translate or otherwise manipulate theinformation before using it. In other implementations, such processingcan be performed by another entity and the processed information can beforwarded to the advertisement server. The advertisement server canselect the additional content (e.g., choose a matching advertisement)and provide the content to the access device, as indicated by an arrow130, for display in the page 126A.

Second, information from the referring URL can be stored for future use.For example, the advertisement server 106 can store query information132 on the access device 102 as indicated by an arrow 134. The queryinformation can include any key word(s) entered by the user on thesearch page 108A, to name just one example. Such terms reflect the querythat the user previously submitted and they can be obtained byextracting content from the referring URL. Thus, query information canbe stored on the access device based on the obtained information, thequery information reflecting an earlier query and configured for use inproviding content for at least another page. The query information canbe stored as part of at least one cookie 136 or any other structure onthe access device. The stored query information can be available on theaccess device for one or more purposes, such as to reflect the user'sprevious search history for use in targeting an advertisement to theuser.

One reason that it may be advantageous to store the query information,and later access it, is that such query information can be particularlyreflective of the user's interests. For example, many users enterqueries in search engines because they are interested in a particularproduct or service. Particularly, when the user later navigates to thedeeper page 126B, such query terms from a previous search may be amongthe more indicative information available at that point about the user'sinterests. Thus, by knowing what query or queries a user has previouslyentered, one may be able to better target advertisements (or othercontent) to that particular user's interests.

The storing and later accessing of user-specific information is done inaccordance with applicable laws and other standards. For example, whererules for protecting user privacy regulate the amount of informationthat can be stored after a user performs a search, this can be takeninto account in storing the query information. Likewise, if rulesrestrict the amount of information that can be read from a user's device(e.g., in form of cookies) this can be taken into account in determiningwhat information is to be accessed.

Here, the user navigates from the news page 126A to the deeper page126B, for example using a link to the continuation of an article. Thisnavigation is schematically illustrated by an arrow 138. Information maybe provided to the advertisement server 106, as indicated by an arrow140, for use in selecting additional content to be placed on the page126B. Thus, the advertisement server can receive information forproviding content for the access device in response to the navigation138 from the news page 126A to the deeper page 126B, the content to beincluded in the deeper page 126B. This information can, for example,reflect the referring URL (i.e., the URL of the news page 126A). Otherinformation that can be forwarded includes available user informationand information about the access device 102, to name a few examples.Thus, the forwarded information can indicate that the navigation 138originated through a link on the page 126A (and was not initiated, say,using a link on a different page or by the user directly typing the URLof the page 126B into an address field of a browser). However, theinformation forwarded at the arrow 140 may not reflect the search thatwas previously performed for the user (e.g., the referring URL of thepage 126A is different from the URL for the results page 108B andtherefore does not include any of the user's search terms). Thus, if theadvertisement server were to provide additional content based only onthe referring URL and optionally on any available information about theuser or the access device, it is possible that the advertisement serverwould not be able to include content that is highly relevant in view ofthe search.

For this and/or other purposes, the query information 132 can beaccessed, as indicated by an arrow 142. For example, the advertisementserver 106 can access the query information by reading the cookie 136 onthe access device. In this example, it was the advertisement system thatplaced the cookie on the access device, so the advertisement system isable to read its own cookie. In other implementations, another componentcan place and/or access the cookie and/or the query information. Here,the advertisement server reads the user's previous query from the queryinformation and uses this information to select additional content forthe page 126B (e.g., the advertisement server selects an advertisementthat matches, or is otherwise relevant to, the key words that the userpreviously entered). Thus, the advertisement server can access the queryinformation stored on the access device, the query information based onan earlier query that was submitted from the access device to the searchprovider 104 before navigating to the news page 126A.

The advertisement server 106 can provide the additional content to theaccess device for inclusion in the page 126B, as indicated by an arrow144. Here, the page 126B includes content 146 (e.g., article content)and additional content 148 (e.g., one or more advertisements). After thenavigation 138 the user can view the page 126B and, as noted, this pagecan include additional content selected using information about one ormore searches that the user performed earlier in the navigation history.Thus, the advertisement server can provide the content 148 for inclusionin the deeper page 126B, the content selected using at least thereceived information and the accessed query information. Queryinformation can be stored in any of many different formats, as will nowbe described in some examples.

FIG. 2 shows examples of query information stored on an access device200. In some implementations, the access device 200 can be the same asor similar to the access device 102 described above with regard to theexamples of FIG. 1. Particularly, the access device 200 here includessome exemplary portions of query information 202 that can reflect one ormore queries that a user has previously submitted.

A first query information 202A includes a URL 204 that can appear aftera search is performed using the Google search engine available atwww.google.com. Here, the URL 204 reflects that the search was based onthe three key words carbonated, berry and lemonade. Accordingly, theresults page that displays hits from the query for these words can beassociated with the URL 204. An entity that accesses the queryinformation 202A can extract one or more of the words carbonated, berryand lemonade from the URL 204 and use these words to provide content(e.g., an advertisement) for a page to be displayed. In someimplementations, the extraction can be done by parsing the URL 204 witha template associated with the search engine, as will be described inexamples below.

A second query information 202B includes terms 206. Here, the terms 206are the key words carbonated, berry and lemonade extracted from a searchthat the user previously submitted to a search provider. For example,the terms 206 may have been extracted from a referring URL similar tothe URL 204. One or more of the terms 206 can be obtained from the queryinformation 202B and used to provide content (e.g., an advertisement)for a page to be displayed.

A third query information 202C includes the terms 206 and one or moreother information portions 208. Here, the query information includes acountry information 208A and a language information 208B. The countryinformation can indicate a country where the access device 200 islocated, for example. The language information 208B can indicate arelevant language. This can be a language commonly spoken in the countryof the information 208A, a language known to be associated with the userof the access device 200, or a language associated with a search page(e.g., the search page 108A) where the user entered the query thatresulted in the terms 206, to name just a few examples. One or more ofthe terms 206 and/or one or more of the information portions 208 can beobtained from the query information 202C and used to provide content(e.g., an advertisement) for a page to be displayed.

FIG. 3 shows another example of an access device 300. In someimplementations, the access device 300 can be the same as or similar tothe access device 102 and/or the access device 200 described above.Particularly, the access device 300 here includes multiple instances ofquery information 302 that may have been stored at one or moreoccasions. In some implementations, the query information 302 can be thesame as, or similar to, the query information 202 described above. Forexample, query information 302A may here reflect a most recent querythat the user submitted using the access device 300. The otherillustrated query information portion 302B can reflect a second-mostrecent query and the query information portion 302C can reflect a querysubmitted before that. Other, more dated, queries may have correspondinginformation portions on the access device, or such information portionsmay have been filtered out at some point due to their age.

One or more, or all, of the query information portions 300 can beaccessed. For example, the advertisement server 106 can select only thequery information 302A to be used because it is the most recent one. Asanother example, a selected subset of available query informationportions (e.g., including the portions 302B and 302C, but no olderones), can be used, optionally with some weighting that gives moresignificance to more recent query information. In some implementations,the access device 300 can record navigations that take place after asearch is performed (e.g., the navigations 124 and 138 can be recorded)and this information can be used in choosing between the portions ofquery information. Such information can be tracked by a plug-in programresiding on the access device, to name just one example. In oneimplementation, only query information that is within a predeterminednumber of navigations (e.g., five) from the present page can beincluded. Other ways of selecting query information can be used. Thus,the advertisement server 106 can select the query information to beaccessed from among the multiple portions of query information on theaccess device. Moreover, the selection can be based on a time of thequery, a time the query information was stored on the access device, anumber of navigations undertaken since the query, and combinationsthereof.

FIG. 4 shows another example of an advertisement server 400. In someimplementations, the advertisement server 400 can be the same as orsimilar to the advertisement server 106 described above.

The advertisement server 400 here includes an extraction module 402 thatcan extract one or more aspects from a portion of query information.Extraction can be performed before or after query information is storedon the access device. For example, when the advertisement server 106receives the referring URL from the results page 108B, the extractionmodule 402 can extract relevant information from that URL and store thatextracted information (e.g., one or more key words) as the queryinformation 202B. As another example, upon accessing the queryinformation 202A on the access device, the extraction module 402 canperform the extraction on the URL 204 and then select the additionalcontents based on the extracted information.

The advertisement server 400 here includes a parsing module 404 that canparse a URL. For example, the URL 204 in the query information 202A canbe parsed to obtain any or all of the key words carbonated, berry andlemonade. Any parsing technique can be used, for example by looking forthe expression “q=” that precedes the key terms and then taking thewords found in the rest of the URL 204. The parsing can removeintervening characters or other separators, such as the “+” charactersin the URL 204. The parsing module can be included in the extractionmodule 402.

In some implementations, query information can be accessed using one ormore templates 406. Templates can be configured to the specifics ofindividual search engines to help obtain information relating tocorresponding searches. For example, one of the templates 406 can beconfigured for searches from the Google search engine, another one forthe Lycos search engine, and so on. The Google template can, forexample, contain information on how to parse a URL (e.g., the URL 204)and obtain the relevant information from it (e.g., any of the terms 206can be parsed). If the name of the search engine (or anotherrecognizable characteristic) is present in the query information to beparsed, that name (or characteristic) can be used to select the properone of the templates 406 to be used for a particular portion of queryinformation. Accordingly, the advertisement server 400 can perform theextraction of information from a referring URL before or after the queryinformation is stored on the access device. Moreover, the advertisementserver can parse the referring URL for at least one key word of thefirst query. Finally, the referring URL can be parsed using a selectedone of the templates 406, each of the multiple templates configured forparsing referring URLs from a corresponding search engine.

FIGS. 5 and 6 are examples of methods 500 and 600 that can be performed.For example, either or both of the methods 500 and 600 can be performedin the system 100. The methods 500 and 600 can be performed by aprocessor executing instructions stored in a computer-readable storagemedium.

The method 500 includes, in step 510, obtaining information forproviding content for a first page on an access device. The informationcan be extracted from a referring URL in navigation to the first page.The information reflects a first query submitted from the access deviceto a search provider. For example, the advertisement server 106 canobtain information relating to the results page 108B as indicated by thearrow 128.

The method 500 includes, in step 520, providing the content forinclusion in the first page. The content is selected using at least theobtained information. For example, the advertisement server 106 canprovide the content 130 for the page 126A.

The method 500 includes, in step 530, storing query information on theaccess device based on the obtained information. The query informationreflects the first query and is configured for use in providing contentfor at least a second page. For example, the advertisement server 106can store the query information 132 on the access device 102 asindicated by the arrow 134.

The method 600 includes, in step 610, receiving information forproviding content for an access device in response to a navigation froma first page to a second page. The content is to be included in thesecond page. For example, the advertisement server 106 can receiveinformation relating to the news page 126A as indicated by the arrow140.

The method 600 includes, in step 620, accessing query information storedon the access device. The query information is based on a first querythat was submitted from the access device to a search provider beforenavigating to the first page. For example, the advertisement server 106can access the query information 132 on the access device 106 asindicated by the arrow 142.

The method 600 includes, in step 630, providing the content forinclusion in the second page. The content is selected using at least thereceived information and the accessed query information. For example,the advertisement server 106 can provide the content 148 for the deeperpage 126B.

Other steps can be included in either or both of the methods 500 and600. Some or all of the steps of the methods 500 or 600 may be performedin another order.

Referring now to FIG. 7, an example method for identifying content fordelivery to a user is provided. The method can be performed by thesystem 100, for example. In step 702, search query information for auser is recorded. The search query information can be recorded whensearch results are provided or when results are identified, to name twoexamples. In step 704, the search query information is retrieved. Instep 706, the search query information is used to determine content fordisplay to the user.

FIG. 8 is a schematic diagram of a generic computer system 800. Thesystem 800 can be used for the operations described in association withany of the computer-implement methods described previously, according toone implementation. The system 800 includes a processor 810, a memory820, a storage device 830, and an input/output device 840. Each of thecomponents 810, 820, 830, and 840 are interconnected using a system bus850. The processor 810 is capable of processing instructions forexecution within the system 800. In one implementation, the processor810 is a single-threaded processor. In another implementation, theprocessor 810 is a multi-threaded processor. The processor 810 iscapable of processing instructions stored in the memory 820 or on thestorage device 830 to display graphical information for a user interfaceon the input/output device 840.

The memory 820 stores information within the system 800. In oneimplementation, the memory 820 is a computer-readable medium. In oneimplementation, the memory 820 is a volatile memory unit. In anotherimplementation, the memory 820 is a non-volatile memory unit.

The storage device 830 is capable of providing mass storage for thesystem 800. In one implementation, the storage device 830 is acomputer-readable medium. In various different implementations, thestorage device 830 may be a floppy disk device, a hard disk device, anoptical disk device, or a tape device.

The input/output device 840 provides input/output operations for thesystem 800. In one implementation, the input/output device 840 includesa keyboard and/or pointing device. In another implementation, theinput/output device 840 includes a display unit for displaying graphicaluser interfaces.

The features described can be implemented in digital electroniccircuitry, or in computer hardware, firmware, software, or incombinations of them. The apparatus can be implemented in a computerprogram product tangibly embodied in an information carrier, e.g., in amachine-readable storage device or in a propagated signal, for executionby a programmable processor; and method steps can be performed by aprogrammable processor executing a program of instructions to performfunctions of the described implementations by operating on input dataand generating output. The described features can be implementedadvantageously in one or more computer programs that are executable on aprogrammable system including at least one programmable processorcoupled to receive data and instructions from, and to transmit data andinstructions to, a data storage system, at least one input device, andat least one output device. A computer program is a set of instructionsthat can be used, directly or indirectly, in a computer to perform acertain activity or bring about a certain result. A computer program canbe written in any form of programming language, including compiled orinterpreted languages, and it can be deployed in any form, including asa stand-alone program or as a module, component, subroutine, or otherunit suitable for use in a computing environment.

Suitable processors for the execution of a program of instructionsinclude, by way of example, both general and special purposemicroprocessors, and the sole processor or one of multiple processors ofany kind of computer. Generally, a processor will receive instructionsand data from a read-only memory or a random access memory or both. Theessential elements of a computer are a processor for executinginstructions and one or more memories for storing instructions and data.Generally, a computer will also include, or be operatively coupled tocommunicate with, one or more mass storage devices for storing datafiles; such devices include magnetic disks, such as internal hard disksand removable disks; magneto-optical disks; and optical disks. Storagedevices suitable for tangibly embodying computer program instructionsand data include all forms of non-volatile memory, including by way ofexample semiconductor memory devices, such as EPROM, EEPROM, and flashmemory devices; magnetic disks such as internal hard disks and removabledisks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Theprocessor and the memory can be supplemented by, or incorporated in,ASICs (application-specific integrated circuits).

To provide for interaction with a user, the features can be implementedon a computer having a display device such as a CRT (cathode ray tube)or LCD (liquid crystal display) monitor for displaying information tothe user and a keyboard and a pointing device such as a mouse or atrackball by which the user can provide input to the computer.

The features can be implemented in a computer system that includes aback-end component, such as a data server, or that includes a middlewarecomponent, such as an application server or an Internet server, or thatincludes a front-end component, such as a client computer having agraphical user interface or an Internet browser, or any combination ofthem. The components of the system can be connected by any form ormedium of digital data communication such as a communication network.Examples of communication networks include, e.g., a LAN, a WAN, and thecomputers and networks forming the Internet.

The computer system can include clients and servers. A client and serverare generally remote from each other and typically interact through anetwork, such as the described one. The relationship of client andserver arises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

A number of embodiments have been described. Nevertheless, it will beunderstood that various modifications may be made without departing fromthe spirit and scope of this disclosure. Accordingly, other embodimentsare within the scope of the following claims.

1. A computer-implemented method relating to providing content on apage, the method comprising: receiving information for providing contentfor an access device in response to a navigation from a first page to asecond page, the content to be included in the second page; accessingquery information stored on the access device, the query informationbased on a first query that was submitted from the access device to asearch provider before navigating to the first page; and providing thecontent for inclusion in the second page, the content selected using atleast the received information and the accessed query information. 2.The computer-implemented method of claim 1, wherein the content includesat least one advertisement to be presented on the second page.
 3. Thecomputer-implemented method of claim 2, wherein an advertisement serverreceives the information, accesses the query information and providesthe content, and wherein the search provider includes a search engine towhich the first query was submitted.
 4. The computer-implemented methodof claim 3, wherein the query information is included in a cookie storedon the access device, and wherein the advertisement server reads thecookie in accessing the query information.
 5. The computer-implementedmethod of claim 1, further comprising: receiving the first query at thesearch provider, the first query submitted by a user using a firstprevious page displayed before the first page; displaying a secondprevious page to the user in response to the first query, the secondprevious page including a result of performing the first query and atleast one link, the link directed to the first page; receiving a firstuser input initiating a navigation from the second previous page to thefirst page using the link; displaying the first page, the first pageincluding at least one link, the link directed to the second page;receiving a second user input initiating the navigation from the firstpage to the second page using the link on the first page; and displayingthe second page including the content selected for the second page. 6.The computer-implemented method of claim 5, further comprising:providing content for the second previous page based on the first query.7. The computer-implemented method of claim 5, further comprising:providing content for the first page based on the first query.
 8. Thecomputer-implemented method of claim 1, further comprising: storing thequery information on the access device before receiving the information,the query information based on other information received for providingcontent for the first page on the access device, the other informationprovided from the search provider upon receiving the first query fromthe access device.
 9. The computer-implemented method of claim 1,wherein multiple portions of query information have been stored on theaccess device, further comprising: selecting the query information to beaccessed, the query information selected from among the multipleportions.
 10. The computer-implemented method of claim 9, wherein theselection is based on at least one selected from: a time of the firstquery, a time the query information was stored on the access device, anumber of navigations undertaken since the first query, and combinationsthereof.
 11. A computer program product tangibly embodied in acomputer-readable storage medium and comprising instructions that whenexecuted by a processor perform a method relating to providing contenton a page, the method comprising: receiving information for providingcontent for an access device in response to a navigation from a firstpage to a second page, the content to be included in the second page;accessing query information stored on the access device, the queryinformation based on a first query that was submitted from the accessdevice to a search provider before navigating to the first page; andproviding the content for inclusion in the second page, the contentselected using at least the received information and the accessed queryinformation.
 12. A computer-implemented method relating to providingcontent on a page, the method comprising: obtaining information forproviding content for a first page on an access device, the informationextracted from a referring URL in navigation to the first page, theinformation reflecting a first query submitted from the access device toa search provider; providing the content for inclusion in the firstpage, the content selected using at least the obtained information; andstoring query information on the access device based on the obtainedinformation, the query information reflecting the first query andconfigured for use in providing content for at least a second page. 13.The computer-implemented method of claim 12, further comprising:receiving the first query at the search provider, the first querysubmitted by a user using a first previous page displayed before thefirst page; displaying a second previous page to the user in response tothe first query, the second previous page including a result ofperforming the first query and at least one link, the link directed tothe first page; receiving a first user input initiating a navigationfrom the second previous page to the first page using the link; anddisplaying the first page, the first page including the selected contentand at least one link, the link directed to the second page.
 14. Thecomputer-implemented method of claim 12, further comprising: receivinginformation for providing the content for the second page in response toa navigation from the first page to the second page; accessing the queryinformation on the access device; and providing the content forinclusion in the second page, the content selected using at least thereceived information and the accessed query information.
 15. Thecomputer-implemented method of claim 12, further comprising: performingthe extraction of the information from the referring URL.
 16. Thecomputer-implemented method of claim 15, wherein performing theextraction comprises: parsing the referring URL for at least one keyword of the first query.
 17. The computer-implemented method of claim16, further comprising: selecting one of multiple templates for parsingthe referring URL, each of the multiple templates configured for parsingreferring URLs from a corresponding search engine; and parsing thereferring URL using the selected template.
 18. A computer programproduct tangibly embodied in a computer-readable storage medium andcomprising instructions that when executed by a processor perform amethod relating to providing content on a page, the method comprising:obtaining information for providing content for a first page on anaccess device, the information extracted from a referring URL innavigation to the first page, the information reflecting a first querysubmitted from the access device to a search provider; providing thecontent for inclusion in the first page, the content selected using atleast the obtained information; and storing query information on theaccess device based on the obtained information, the query informationreflecting the first query and configured for use in providing contentfor at least a second page.
 19. A computer-implemented methodcomprising: recording information reflecting a search query executed fora user; determining that content is to be provided for display to theuser, the content to be selected without executing the search query; andusing the the recorded information to select the content.
 20. Thecomputer-implemented method of claim 19, wherein the content isadvertising content and wherein the advertising content is selected tobe provided for display to the user in response to another search queryfrom the user.